
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Mario
 */
public class servidorDao {

     private Connection conexion;

     public servidorDao() throws SQLException{
         this.conexion = conexionServidores.getConexion();
     }

     public boolean agregarServidor(Servidor newServidor) throws SQLException {
        String sql = "INSERT INTO servidores (ip_servidor, puerto_servidor, tipo_servidor, estado_servidor) values(?,?,?,?)";
        PreparedStatement stmt = this.conexion.prepareStatement(sql);
        stmt.setString(1, newServidor.getIp_servidor());
        stmt.setString(2, newServidor.getPuerto_servidor());
        stmt.setInt(3, newServidor.getTipo_servidor());
        stmt.setInt(4, newServidor.getEstado_servidor());
        stmt.execute();
        stmt.close();
        return true;
    }

     public List<Servidor> getListaServidoresAll() throws SQLException {
        String sql = "SELECT * FROM servidores";
        PreparedStatement stmt = this.conexion.prepareStatement(sql);
        ResultSet rs = stmt.executeQuery();
        List<Servidor> listServidores = new ArrayList<Servidor>();

        while(rs.next()){
            Servidor nuevoServidor = new Servidor();
            nuevoServidor.setId_servidor(rs.getLong("id_servidor"));
            //System.out.println(nuevoServicio.getId_servicio());
            nuevoServidor.setIp_servidor(rs.getString("ip_servidor"));
            //System.out.println(nuevoServicio.getName_servicio());
            nuevoServidor.setPuerto_servidor(rs.getString("puerto_servidor"));
            //System.out.println(nuevoServicio.getCmd_servicio());
            nuevoServidor.setTipo_servidor(rs.getInt("tipo_servidor"));
            //System.out.println(nuevoServicio.getDate_servicio());
            nuevoServidor.setEstado_servidor(rs.getInt("estado_servidor"));
            nuevoServidor.setDate_servidor(rs.getString("fecha_servidor"));
            listServidores.add(nuevoServidor);
        }
        rs.close();
        stmt.close();
        return listServidores;
    }

     public List<Servidor> getListaServidoresActivos() throws SQLException {
        String sql = "SELECT * FROM servidores WHERE estado_servidor = 1";
        PreparedStatement stmt = this.conexion.prepareStatement(sql);
        //stmt.setString(1, newServidor.getIp_servidor());
        ResultSet rs = stmt.executeQuery();
        List<Servidor> listServidores = new ArrayList<Servidor>();

        while(rs.next()){
            Servidor nuevoServidor = new Servidor();
            nuevoServidor.setId_servidor(rs.getLong("id_servidor"));
            //System.out.println(nuevoServicio.getId_servicio());
            nuevoServidor.setIp_servidor(rs.getString("ip_servidor"));
            //System.out.println(nuevoServicio.getName_servicio());
            nuevoServidor.setPuerto_servidor(rs.getString("puerto_servidor"));
            //System.out.println(nuevoServicio.getCmd_servicio());
            nuevoServidor.setTipo_servidor(rs.getInt("tipo_servidor"));
            //System.out.println(nuevoServicio.getDate_servicio());
            nuevoServidor.setEstado_servidor(rs.getInt("estado_servidor"));
            nuevoServidor.setDate_servidor(rs.getString("fecha_servidor"));
            listServidores.add(nuevoServidor);
        }
        rs.close();
        stmt.close();
        return listServidores;
    }
}
